package com.itheima.d1_properties;
import java.io.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/*
     目标：掌握使用Properties类读取属性文件中的键值对信息。

        Properties是一个Map集合（键值对集合），但是我们一般不会当集合使用。
        核心作用：Properties是用来代表属性文件的，通过Properties可以读写属性文件里的内容。

        构造方法
            public Properties()	用于构建Properties集合对象（空容器）
        成员方法
            public String getProperty(String key) 	根据键获取值(其实就是get方法的效果)
            public Set<String> stringPropertyNames()	获取全部键的集合（其实就是ketSet方法的效果）
            public Object setProperty(String key, String value) 	保存键值对数据到Properties对象中去。
 */
public class PropertiesTest1 {
    public static void main(String[] args) throws IOException {
        //1、创建对象
        Properties properties=new Properties();
        //2、调用api方法，加载并读取目标文件内容，
        // 读取到的内容会以键值对形式存储到Properties对象中
        properties.load(new FileInputStream("test810.properties"));

        //3、调用api方法，根据key获取对应 的value
        String password=properties.getProperty("key");
        System.out.println(password);

        System.out.println("-----------");
        //获取Properties中所有的key的集合
        Set<String>keys=properties.stringPropertyNames();
        for (String k : keys) {
            System.out.println(k + "===>" + properties.getProperty(k));
        }

    }
}
